<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>closure</title>
</head>
<body>
<script>
    //统计执行次数
    var count = 0;
    //创建一个闭包，防止外部修改cache数组，提高安全性
    function createFib(){
        //用于存储数据
        var cache = [];
        function fib(n){
            count++;
            //如果缓存中有数据，直接返回
            if (cache[n] != undefined){
                return cache[n];
            }
            //如果缓存中没有就计算
            if(n <= 2){
                //将计算结果存入数组
                cache[n] = 1;
                return 1;
            }
            var temp = fib(n - 1) + fib(n - 2);
            //将结果存入数据
            cache[n] = temp;
            return temp;
        }
        return fib;}
    createFib()(5)

    function selectionSort(arr) {
        var len = arr.length;
        var minIndex, temp;
        for(var i=0;i<len-1;i++){
            minIndex=i;
            for(var j=i+1;j<len;j++){
                if(arr[j]<arr[minIndex]){
                    minIndex=j;
                }
            }
        }
        temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
    function getMax(arr) {
        var max = arr[0]>arr[1]?arr[0]:arr[1];
        var secMax = arr[0]<arr[1]?arr[0]:arr[1];
        for(var i=1,len=arr.length;i<len;i++){
            if(arr[i] > max){
                secMax = max;
                max = arr[i];
            }else if(secMax< arr[i]&&max> arr[i]){
                secMax = arr[i];

            }
        }
        return secMax +','+max;
    }
    console.log(getMax([-44,-45,100,100,100.01]))
</script>
</body>
</html>